Initialization

Libraries

library(BSgenome.Mmusculus.UCSC.mm10)
library(plyranges)
library(tidyverse)
library(magrittr)
library(cowplot)

Parameters

EPSILON = 30
TPM = 5
WIN_SIZE = 1000
RADIUS = 300
N_CTS_LOW = 10
N_CTS_HIGH = 80

COLOR_VALS_CPA=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")
COLOR_VALS_CPA_PA=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D", AAAAAA="#888888")
COLOR_VALS_EXTRA=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D", CAATTA="orchid4")

FILE_UTROME = sprintf("data/granges/utrome_gr_txs.e%d.t%d.gc25.pas3.f0.9999.w500.Rds", EPSILON, TPM)
FILE_BED = sprintf("data/bed/celltypes/celltypes.e%d.t%d.bed.gz", EPSILON, TPM)
FILE_BED_UNLIKELY = sprintf("data/bed/cleavage-sites/utrome.unlikely.e%d.t%d.gc25.pas3.f0.9999.bed.gz",
                            EPSILON, TPM)

Functions

get_centered_motif_sites <- function (motif, seqs) {
  seqs %>% 
    vmatchPattern(pattern=motif, fixed=FALSE) %>%
    unlist %>% as.data.frame %>%
    mutate(motif=motif,
           start=start - WIN_SIZE/2,
           end=end - WIN_SIZE/2,
           center=(end + start)/2) %>%
    select(motif, center, start, end)
}

## plot density from motif positions data.frame
plot_motif_density <- function (df_motifs, radius=RADIUS, title="UTRome",
                                col_values=COLOR_VALS_CPA) {
  df_motifs %>%
    ggplot(aes(x=center, color=motif)) +
    stat_density(aes(y=..scaled..), geom='line', position='identity', 
                 size=1.5, alpha=0.9) +
    geom_hline(yintercept=0) +
    geom_vline(xintercept=0, linetype='dashed', color='black') +
    coord_cartesian(xlim=c(-radius, radius)) +
    scale_x_continuous(breaks=seq(-radius, radius, 100), 
                       limits=c(-radius - 100, radius+100)) +
    scale_color_manual(values=col_values) +
    labs(x=sprintf("Distance from Cleavage Site (%s)", title),
         y="Relative Density", color="Motif") +
    guides(color=guide_legend(override.aes=list(alpha=1, size=3))) +
    theme_minimal_vgrid()
}

Load Data

Cleavage Sites by Cell Type

gr_sites <- read_bed(FILE_BED) %>% 
    `seqlevelsStyle<-`("UCSC") %>%
    keepStandardChromosomes(pruning.mode="coarse") %>%
    anchor_center() %>%
    mutate(width=EPSILON)

Mouse UTRome Transcripts

## Load all transcripts
gr_txs <- readRDS(FILE_UTROME) %>% anchor_3p()

## focus on cleavage sites
gr_cleavage <- gr_txs %>%
    mutate(n_celltypes=count_overlaps_directed(mutate(., width=0), gr_sites)) %>%
    mutate(width=WIN_SIZE) %>%
    shift_downstream(WIN_SIZE/2) %>%
    mutate(origin=ifelse(is_novel, "UTRome", "GENCODE"),
           origin_ud=case_when(
               !is_novel ~ "GENCODE",
               str_detect(transcript_id, "UTR-") ~ "upstream",
               str_detect(transcript_id, "UTR+") ~ "downstream"
           ))

Cleavage Sites Marked as Internal Priming

gr_ip <- read_bed(FILE_BED_UNLIKELY) %>%
  anchor_3p %>%
  mutate(width=WIN_SIZE) %>%
  shift_downstream(WIN_SIZE/2)

Subgroups

gr_single <- filter(gr_cleavage, utr_type == "single")
gr_ipa <- filter(gr_cleavage, is_ipa)
gr_multi_tandem <- filter(gr_cleavage, utr_type == 'multi', !is_ipa)

gr_gencode <- filter(gr_cleavage, !is_novel)
gr_novel <- filter(gr_cleavage, is_novel)

gr_proximal_gc <- filter(gr_cleavage, utr_type == 'multi', is_proximal, !is_novel)
gr_nondistal_gc <- filter(gr_cleavage, utr_type == 'multi', !is_distal, !is_novel)
gr_distal_gc <- filter(gr_cleavage, utr_type == 'multi', is_distal, !is_novel)

gr_proximal_novel <- filter(gr_cleavage, utr_type == 'multi', is_proximal, is_novel)
gr_nondistal_novel <- filter(gr_cleavage, utr_type == 'multi', !is_distal, is_novel)
gr_distal_novel <- filter(gr_cleavage, utr_type == 'multi', is_distal, is_novel)

## only GENCODE
gr_ctnone_gc <- filter(gr_cleavage, !is_novel, n_celltypes == 0)
gr_common <- filter(gr_cleavage, !is_novel, n_celltypes > 0)

gr_ctlow_gc <- filter(gr_cleavage, !is_novel, n_celltypes > 0, n_celltypes < N_CTS_LOW)
gr_ctmid_gc <- filter(gr_cleavage, !is_novel, n_celltypes >= N_CTS_LOW, n_celltypes < N_CTS_HIGH)
gr_cthigh_gc <- filter(gr_cleavage, !is_novel, n_celltypes >= N_CTS_HIGH)

gr_ctlow_novel <- filter(gr_cleavage, is_novel, n_celltypes < N_CTS_LOW)
gr_ctmid_novel <- filter(gr_cleavage, is_novel, n_celltypes >= N_CTS_LOW, n_celltypes < N_CTS_HIGH)
gr_cthigh_novel <- filter(gr_cleavage, is_novel, n_celltypes >= N_CTS_HIGH)

Plots

All Sites

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_cleavage)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="All")

Single-UTR Genes

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_single)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Single UTR Genes")

Intronic Cleavage Sites

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ipa)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Intronic Sites")

Tandem Cleavage Sites

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_multi_tandem)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Tandem Sites")

GENCODE

All Cleavage Sites (42588 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_gencode)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE Sites")

Proximal Cleavage Sites (9764 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_proximal_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE Proximal Sites")

Non-Distal Cleavage Sites (23993 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_nondistal_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE Non-Distal Sites")

Distal Cleavage Sites (13020 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_distal_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE Distal Sites")

Cell Types High (4744 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_cthigh_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE - Cell Types High")

Cell Types Midrange (10555 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ctmid_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE - Cell Types Midrange")

Cell Types Low (10064 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ctlow_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE - Cell Types Low")

No Cell Types Supporting (17225 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ctnone_gc)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE - No Supporting Cell Types")

Common Cleavage Sites (25363 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_common)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="GENCODE + MCA")

Novel Cleavage Sites

All Cleavage Sites (19936 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel Sites")

Proximal Cleavage Sites (6047 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_proximal_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel Proximal Sites")

Non-Distal Cleavage Sites (17145 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_nondistal_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel Non-Distal Sites")

Distal Cleavage Sites (2791 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_distal_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel Distal Sites")

Cell Types High (1326 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_cthigh_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel - Cell Types High")

Cell Types Midrange (4602 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ctmid_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel - Cell Types Midrange")

Cell Types Low (14008 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ctlow_novel)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Novel - Cell Types Low")

Internal Priming Sites (89549 sites)

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ip)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)

rbind(df_tgta, df_pas, df_tgtgt) %>%
  plot_motif_density(title="Internal Priming Sites")

seqs <- getSeq(BSgenome.Mmusculus.UCSC.mm10, gr_ip)

df_tgta <- get_centered_motif_sites("TGTA", seqs)
df_pas <- get_centered_motif_sites(motif="AWTAAA", seqs)
df_tgtgt <- get_centered_motif_sites(motif="TGTST", seqs)
df_aaaaaa <- get_centered_motif_sites(motif="AAAAAA", seqs)

rbind(df_tgta, df_pas, df_tgtgt, df_aaaaaa) %>%
  plot_motif_density(title="Internal Priming Sites", col_values=COLOR_VALS_CPA_PA)

Combined Motif Analysis

UTRome vs GENCODE

grs_cleavage <- gr_cleavage %>% split(.$origin)

seqs_cleavage <- lapply(grs_cleavage, . %>% getSeq(x=BSgenome.Mmusculus.UCSC.mm10))

lapply_get_centered_motif_sites <- function(motif, seqs=seqs_cleavage) {
  lapply(seqs, . %>% get_centered_motif_sites(motif=motif)) %>% 
    do.call(what=rbind) %>%
    mutate(origin=str_extract(rownames(.), "^[^.]+")) %>%
    `rownames<-`(NULL)
}

df_tgta <- lapply_get_centered_motif_sites(motif="TGTA") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "UTRome")))
df_pas <- lapply_get_centered_motif_sites(motif="AWTAAA") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "UTRome")))
df_tgtgt <- lapply_get_centered_motif_sites(motif="TGTST") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "UTRome")))

df_combined <- rbind(df_tgta, df_pas, df_tgtgt)

Plot

df_combined %>%
  ggplot(aes(x=center, color=motif, linetype=origin)) +
  stat_density(aes(y=..scaled..), geom='line', position='identity', 
               size=1.0, alpha=0.9) +
  geom_hline(yintercept=0) +
  geom_vline(xintercept=0, linetype='dashed', color='black') +
  coord_cartesian(xlim=c(-RADIUS, RADIUS)) +
  scale_x_continuous(breaks=seq(-RADIUS, RADIUS, 100), 
                     limits=c(-RADIUS - 100, RADIUS+100)) +
  scale_color_manual(values=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")) +
  scale_linetype_manual(values=c("GENCODE"="solid", "UTRome"="dashed")) +
  labs(x="Distance from RefSeq Cleavage Site",
       y="Relative Density", color="Motif", linetype="Annotation") +
  guides(color=guide_legend(override.aes=list(alpha=1, size=3))) +
  theme_minimal_vgrid()

ggsave("img/cleavage_factor_motifs.gencode_vs_utrome.positions.pdf", width=8, height=6, dpi=300)

GENCODE vs Upstream vs Downstream

grs_cleavage_ud <- gr_cleavage %>% split(.$origin_ud)

seqs_cleavage_ud <- lapply(grs_cleavage_ud, . %>% getSeq(x=BSgenome.Mmusculus.UCSC.mm10))

lapply_get_centered_motif_sites <- function(motif, seqs=seqs_cleavage_ud) {
  lapply(seqs, . %>% get_centered_motif_sites(motif=motif)) %>% 
    do.call(what=rbind) %>%
    mutate(origin=str_extract(rownames(.), "^[^.]+")) %>%
    `rownames<-`(NULL)
}

df_tgta_ud <- lapply_get_centered_motif_sites(motif="TGTA") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "upstream", "downstream")))
df_pas_ud <- lapply_get_centered_motif_sites(motif="AWTAAA") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "upstream", "downstream")))
df_tgtgt_ud <- lapply_get_centered_motif_sites(motif="TGTST") %>%
  mutate(origin=factor(origin, levels=c("GENCODE", "upstream", "downstream")))

df_combined_ud <- rbind(df_tgta_ud, df_pas_ud, df_tgtgt_ud)

Plot All

df_combined_ud %>%
  ggplot(aes(x=center, color=motif, linetype=origin)) +
  stat_density(aes(y=..scaled..), geom='line', position='identity', 
               size=1.0, alpha=0.9) +
  geom_hline(yintercept=0) +
  geom_vline(xintercept=0, linetype='dashed', color='black') +
  coord_cartesian(xlim=c(-RADIUS, RADIUS)) +
  scale_x_continuous(breaks=seq(-RADIUS, RADIUS, 100), 
                     limits=c(-RADIUS - 100, RADIUS+100)) +
  scale_color_manual(values=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")) +
  scale_linetype_manual(values=c("GENCODE"="solid", "upstream"="dotted", "downstream"="dashed")) +
  labs(x="Distance from RefSeq Cleavage Site",
       y="Relative Density", color="Motif", linetype="Annotation") +
  guides(color=guide_legend(override.aes=list(alpha=1, size=3))) +
  theme_minimal_vgrid()

ggsave("img/cleavage_factor_motifs.gencode_vs_utrome_ud.positions.pdf", width=8, height=6, dpi=300)

Plot Individual

TGTA

df_tgta_ud %>%
  ggplot(aes(x=center, color=motif, linetype=origin)) +
  stat_density(aes(y=..scaled..), geom='line', position='identity', 
               size=1.0, alpha=0.9) +
  geom_hline(yintercept=0) +
  geom_vline(xintercept=0, linetype='dashed', color='black') +
  coord_cartesian(xlim=c(-RADIUS, RADIUS)) +
  scale_x_continuous(breaks=seq(-RADIUS, RADIUS, 100), 
                     limits=c(-RADIUS - 100, RADIUS+100)) +
  scale_color_manual(values=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")) +
  scale_linetype_manual(values=c("GENCODE"="solid", "upstream"="dotted", "downstream"="dashed")) +
  labs(x="Distance from RefSeq Cleavage Site",
       y="Relative Density", color="Motif", linetype="Annotation") +
  guides(color=FALSE) +
  theme_minimal_vgrid()

ggsave("img/cleavage_factor_motifs.gencode_vs_utrome_ud.positions.TGTA.pdf", width=8, height=6, dpi=300)

AWTAAA

df_pas_ud %>%
  ggplot(aes(x=center, color=motif, linetype=origin)) +
  stat_density(aes(y=..scaled..), geom='line', position='identity', 
               size=1.0, alpha=0.9) +
  geom_hline(yintercept=0) +
  geom_vline(xintercept=0, linetype='dashed', color='black') +
  coord_cartesian(xlim=c(-RADIUS, RADIUS)) +
  scale_x_continuous(breaks=seq(-RADIUS, RADIUS, 100), 
                     limits=c(-RADIUS - 100, RADIUS+100)) +
  scale_color_manual(values=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")) +
  scale_linetype_manual(values=c("GENCODE"="solid", "upstream"="dotted", "downstream"="dashed")) +
  labs(x="Distance from RefSeq Cleavage Site",
       y="Relative Density", color="Motif", linetype="Annotation") +
  guides(color=FALSE) +
  theme_minimal_vgrid()

ggsave("img/cleavage_factor_motifs.gencode_vs_utrome_ud.positions.AWTAAA.pdf", width=8, height=6, dpi=300)

TGTST

df_tgtgt_ud %>%
  ggplot(aes(x=center, color=motif, linetype=origin)) +
  stat_density(aes(y=..scaled..), geom='line', position='identity', 
               size=1.0, alpha=0.9) +
  geom_hline(yintercept=0) +
  geom_vline(xintercept=0, linetype='dashed', color='black') +
  coord_cartesian(xlim=c(-RADIUS, RADIUS)) +
  scale_x_continuous(breaks=seq(-RADIUS, RADIUS, 100), 
                     limits=c(-RADIUS - 100, RADIUS+100)) +
  scale_color_manual(values=c(TGTA="#73ADD6", AWTAAA="#358C44", TGTST="#F36B4D")) +
  scale_linetype_manual(values=c("GENCODE"="solid", "upstream"="dotted", "downstream"="dashed")) +
  labs(x="Distance from RefSeq Cleavage Site",
       y="Relative Density", color="Motif", linetype="Annotation") +
  guides(color=FALSE) +
  theme_minimal_vgrid()

ggsave("img/cleavage_factor_motifs.gencode_vs_utrome_ud.positions.TGTST.pdf", width=8, height=6, dpi=300)

Runtime Details

Session Info

## R version 4.1.1 (2021-08-10)
## Platform: x86_64-apple-darwin13.4.0 (64-bit)
## Running under: macOS Big Sur 10.16
## 
## Matrix products: default
## BLAS/LAPACK: /Users/mfansler/miniconda3/envs/bioc_3_14/lib/libopenblasp-r0.3.18.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] cowplot_1.1.1                      magrittr_2.0.3                    
##  [3] forcats_0.5.1                      stringr_1.4.0                     
##  [5] dplyr_1.0.8                        purrr_0.3.4                       
##  [7] readr_2.1.1                        tidyr_1.1.4                       
##  [9] tibble_3.1.7                       ggplot2_3.3.5                     
## [11] tidyverse_1.3.1                    plyranges_1.14.0                  
## [13] BSgenome.Mmusculus.UCSC.mm10_1.4.3 BSgenome_1.62.0                   
## [15] rtracklayer_1.54.0                 Biostrings_2.62.0                 
## [17] XVector_0.34.0                     GenomicRanges_1.46.0              
## [19] GenomeInfoDb_1.30.0                IRanges_2.28.0                    
## [21] S4Vectors_0.32.0                   BiocGenerics_0.40.0               
## 
## loaded via a namespace (and not attached):
##  [1] bitops_1.0-7                matrixStats_0.61.0         
##  [3] fs_1.5.2                    lubridate_1.8.0            
##  [5] httr_1.4.2                  tools_4.1.1                
##  [7] backports_1.4.0             bslib_0.3.1                
##  [9] utf8_1.2.2                  R6_2.5.1                   
## [11] DBI_1.1.1                   colorspace_2.0-2           
## [13] withr_2.4.3                 tidyselect_1.1.1           
## [15] compiler_4.1.1              textshaping_0.3.6          
## [17] rvest_1.0.2                 cli_3.3.0                  
## [19] Biobase_2.54.0              xml2_1.3.3                 
## [21] DelayedArray_0.20.0         labeling_0.4.2             
## [23] sass_0.4.0                  scales_1.1.1               
## [25] systemfonts_1.0.3           digest_0.6.29              
## [27] Rsamtools_2.10.0            rmarkdown_2.11             
## [29] pkgconfig_2.0.3             htmltools_0.5.2            
## [31] MatrixGenerics_1.6.0        highr_0.9                  
## [33] dbplyr_2.1.1                fastmap_1.1.0              
## [35] rlang_1.0.2                 readxl_1.3.1               
## [37] rstudioapi_0.13             farver_2.1.0               
## [39] jquerylib_0.1.4             BiocIO_1.4.0               
## [41] generics_0.1.1              jsonlite_1.7.2             
## [43] BiocParallel_1.28.0         RCurl_1.98-1.5             
## [45] GenomeInfoDbData_1.2.7      Matrix_1.3-4               
## [47] Rcpp_1.0.7                  munsell_0.5.0              
## [49] fansi_0.5.0                 lifecycle_1.0.1            
## [51] stringi_1.7.6               yaml_2.2.1                 
## [53] SummarizedExperiment_1.24.0 zlibbioc_1.40.0            
## [55] grid_4.1.1                  parallel_4.1.1             
## [57] crayon_1.4.2                lattice_0.20-45            
## [59] haven_2.4.3                 hms_1.1.1                  
## [61] knitr_1.39                  pillar_1.7.0               
## [63] rjson_0.2.20                reprex_2.0.1               
## [65] XML_3.99-0.8                glue_1.6.2                 
## [67] evaluate_0.15               modelr_0.1.8               
## [69] vctrs_0.4.1                 tzdb_0.2.0                 
## [71] cellranger_1.1.0            gtable_0.3.0               
## [73] assertthat_0.2.1            xfun_0.30                  
## [75] broom_0.8.0                 restfulr_0.0.13            
## [77] ragg_1.2.1                  GenomicAlignments_1.30.0   
## [79] ellipsis_0.3.2

Conda Environment

## Conda Environment YAML
name: base
channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - anaconda-client=1.8.0=pyhd8ed1ab_0
  - anaconda-project=0.10.2=pyhd8ed1ab_0
  - attrs=21.2.0=pyhd8ed1ab_0
  - awscli=1.27.45=py39h6e9494a_0
  - backports=1.0=py_2
  - backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
  - backports.zoneinfo=0.2.1=py39h701faf5_5
  - bagit=1.8.1=pyhd8ed1ab_0
  - bagit-profile=1.3.1=pyhd8ed1ab_0
  - bdbag=1.6.1=pyhd8ed1ab_0
  - beautifulsoup4=4.9.3=pyhb0f4dca_0
  - blinker=1.4=py_1
  - boa=0.14.0=pyhd8ed1ab_0
  - boolean.py=3.7=py_0
  - boto3=1.26.45=pyhd8ed1ab_0
  - botocore=1.29.45=pyhd8ed1ab_0
  - brotlipy=0.7.0=py39h63b48b0_1004
  - bzip2=1.0.8=h0d85af4_4
  - c-ares=1.18.1=h0d85af4_0
  - ca-certificates=2022.12.7=h033912b_0
  - cachecontrol=0.12.11=pyhd8ed1ab_0
  - cairo=1.16.0=h904041c_1014
  - cctools=973.0.1=hd9211c8_2
  - cctools_osx-64=973.0.1=h3e07e27_2
  - certifi=2022.12.7=pyhd8ed1ab_0
  - cffi=1.15.1=py39hae9ecf2_0
  - chardet=5.0.0=py39h6e9494a_0
  - charset-normalizer=2.0.0=pyhd8ed1ab_0
  - click=8.1.3=py39h6e9494a_0
  - clyent=1.2.2=py_1
  - colorama=0.4.3=py_0
  - commonmark=0.9.1=py_0
  - conda=23.1.0=py39h6e9494a_0
  - conda-build=3.21.9=py39h6e9494a_1
  - conda-forge-pinning=2021.10.10.22.03.30=hd8ed1ab_0
  - conda-libmamba-solver=23.1.0=pyhd8ed1ab_0
  - conda-pack=0.6.0=pyhd3deb0d_0
  - conda-package-handling=2.0.2=pyh38be061_0
  - conda-package-streaming=0.7.0=pyhd8ed1ab_1
  - conda-smithy=3.23.1=pyhd8ed1ab_0
  - conda-standalone=4.10.3=h694c41f_0
  - conda-suggest=0.1.1=pyh9f0ad1d_0
  - conda-suggest-conda-forge=2021.8.24=h694c41f_0
  - conda-verify=3.1.1=py39h6e9494a_1004
  - constructor=3.3.1=py39h6e9494a_0
  - coreutils=9.1=h5eb16cf_0
  - cryptography=38.0.4=py39hbeae22c_0
  - curl=7.86.0=h6df9250_2
  - cyrus-sasl=2.1.27=h1e973b7_6
  - dataclasses=0.8=pyhc8e2a94_3
  - dbus=1.13.6=ha13b53f_2
  - deprecated=1.2.12=pyh44b312d_0
  - docutils=0.16=py39h6e9494a_3
  - expat=2.5.0=hf0c8a7f_0
  - ffq=0.2.1=pyhdfd78af_0
  - filelock=3.0.12=pyh9f0ad1d_0
  - fmt=9.1.0=hb8565cd_0
  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  - font-ttf-inconsolata=3.000=h77eed37_0
  - font-ttf-source-code-pro=2.038=h77eed37_0
  - font-ttf-ubuntu=0.83=hab24e00_0
  - fontconfig=2.14.1=h5bb23bf_0
  - fonts-conda-ecosystem=1=0
  - fonts-conda-forge=1=0
  - freetype=2.12.1=h3f81eb7_1
  - fribidi=1.0.10=hbcb3906_0
  - frozendict=2.3.4=py39h701faf5_0
  - future=0.18.2=py39h6e9494a_5
  - gawk=5.1.0=h8a989fb_0
  - gdk-pixbuf=2.42.6=h2e6141f_0
  - gettext=0.21.1=h8a4c099_0
  - giflib=5.2.1=hbcb3906_2
  - git=2.39.0=pl5321h0195497_0
  - git-lfs=2.13.3=h694c41f_0
  - gitdb=4.0.7=pyhd8ed1ab_0
  - gitpython=3.1.18=pyhd8ed1ab_0
  - glib=2.74.1=hbc0c0cd_1
  - glib-tools=2.74.1=hbc0c0cd_1
  - glob2=0.7=py_0
  - globus-sdk=2.0.1=pyhd8ed1ab_0
  - gmp=6.2.1=h2e338ed_0
  - gnupg=2.3.3=hd723a69_0
  - gnutls=3.6.13=h756fd2b_1
  - graphite2=1.3.13=h2e338ed_1001
  - harfbuzz=6.0.0=h08f8713_0
  - htop=3.2.1=h398481e_0
  - htslib=1.15=hc057d7f_0
  - hub=2.14.2=hc7d050b_0
  - icu=70.1=h96cf925_0
  - idna=3.1=pyhd3deb0d_0
  - importlib-metadata=4.11.4=py39h6e9494a_0
  - importlib_metadata=4.11.4=hd8ed1ab_0
  - importlib_resources=5.4.0=pyhd8ed1ab_0
  - inotify_simple=1.3.5=pyha770c72_3
  - ipython_genutils=0.2.0=py_1
  - isodate=0.6.0=py_1
  - jbig=2.1=h0d85af4_2003
  - jinja2=3.0.1=pyhd8ed1ab_0
  - jmespath=0.10.0=pyh9f0ad1d_0
  - joblib=1.0.1=pyhd8ed1ab_0
  - jpeg=9d=hbcb3906_0
  - json5=0.9.5=pyh9f0ad1d_0
  - jsonschema=4.3.1=pyhd8ed1ab_0
  - jupyter_core=4.11.1=py39h6e9494a_0
  - krb5=1.20.1=h049b76e_0
  - ld64=609=hd2e7500_2
  - ld64_osx-64=609=h2487922_2
  - ldid=2.1.2=h6a69015_3
  - lerc=2.2.1=h046ec9c_0
  - libapr=1.7.0=h0d85af4_5
  - libaprutil=1.6.1=h664449b_5
  - libarchive=3.6.2=h6d8d9f1_0
  - libassuan=2.5.5=he49afe7_0
  - libcurl=7.86.0=h6df9250_2
  - libcxx=14.0.6=hccf4f1f_0
  - libdb=6.2.32=he49afe7_0
  - libdeflate=1.10=h0d85af4_0
  - libedit=3.1.20191231=h0678c8f_2
  - libev=4.33=haf1e3a3_1
  - libffi=3.4.2=h0d85af4_5
  - libgcrypt=1.10.1=h5eb16cf_0
  - libglib=2.74.1=h4c723e1_1
  - libgpg-error=1.45=h8d84a1d_0
  - libiconv=1.17=hac89ed1_0
  - libidn2=2.3.2=h0d85af4_0
  - libksba=1.3.5=h0a44026_1000
  - liblief=0.11.5=he49afe7_0
  - libllvm12=12.0.1=hd011deb_2
  - libmagic=5.39=haaf19a9_0
  - libmamba=1.1.0=hdec3fd3_3
  - libmambapy=1.1.0=py39he664332_3
  - libnghttp2=1.47.0=h5aae05b_1
  - libntlm=1.4=h0d85af4_1002
  - libpng=1.6.39=ha978bb4_0
  - librsvg=2.52.5=h5e5d7d9_2
  - libsolv=0.7.23=hbc0c0cd_0
  - libsqlite=3.40.0=ha978bb4_0
  - libssh2=1.10.0=h47af595_3
  - libtiff=4.3.0=h1167814_0
  - libunistring=0.9.10=h0d85af4_0
  - libutf8proc=2.8.0=hb7f2c08_0
  - libwebp-base=1.2.1=h0d85af4_0
  - libxml2=2.10.3=hb9e07b5_0
  - libxslt=1.1.37=h5d22bc9_0
  - libzlib=1.2.13=hfd90126_4
  - license-expression=1.2=py_0
  - lockfile=0.12.2=py_1
  - lxml=4.9.2=py39hfbce9ca_0
  - lz4-c=1.9.3=he49afe7_1
  - lzo=2.10=haf1e3a3_1000
  - mamba=1.1.0=py39h412838c_3
  - markupsafe=2.1.1=py39h63b48b0_1
  - msgpack-python=1.0.4=py39h92daf61_1
  - msrest=0.6.21=pyh44b312d_0
  - nbformat=5.1.3=pyhd8ed1ab_0
  - ncurses=6.3=h96cf925_1
  - nettle=3.6=hedd7734_0
  - npth=1.6=h96cf925_1001
  - ntbtls=0.1.2=hd9629dc_1000
  - oauthlib=3.1.1=pyhd8ed1ab_0
  - openssl=3.1.0=hfd90126_0
  - pango=1.50.12=hbd9bf65_1
  - patch=2.7.6=hbcf498f_1002
  - pcre=8.45=he49afe7_0
  - pcre2=10.40=h1c4e4bc_0
  - perl=5.32.1=0_h0d85af4_perl5
  - pigz=2.6=h5dbffcc_0
  - pip=21.2.4=pyhd8ed1ab_0
  - pixman=0.40.0=hbcb3906_0
  - pkginfo=1.7.1=pyhd8ed1ab_0
  - pluggy=1.0.0=pyhd8ed1ab_5
  - popt=1.16=h7b079dc_2002
  - prompt-toolkit=3.0.20=pyha770c72_0
  - prompt_toolkit=3.0.20=hd8ed1ab_0
  - psutil=5.9.2=py39ha30fb19_0
  - py-lief=0.11.5=py39h9fcab8e_0
  - pyasn1=0.4.8=py_0
  - pybind11-abi=4=hd8ed1ab_3
  - pycosat=0.6.3=py39h63b48b0_1010
  - pycparser=2.20=pyh9f0ad1d_2
  - pycrypto=2.6.1=py39h89e85a6_1006
  - pycryptodome=3.16.0=py39hf75c729_0
  - pygithub=1.53=py_0
  - pygments=2.10.0=pyhd8ed1ab_0
  - pyjwt=1.7.1=py_0
  - pyrsistent=0.18.1=py39h63b48b0_1
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.9.15=h709bd14_0_cpython
  - python-dateutil=2.8.2=pyhd8ed1ab_0
  - python-libarchive-c=4.0=py39h6e9494a_1
  - python-tzdata=2021.5=pyhd8ed1ab_0
  - python_abi=3.9=2_cp39
  - pytz=2021.1=pyhd8ed1ab_0
  - pytz-deprecation-shim=0.1.0.post0=py39h6e9494a_2
  - pyyaml=5.4.1=py39h701faf5_3
  - readline=8.1.2=h3899abd_0
  - reproc=14.2.3=h0d85af4_0
  - reproc-cpp=14.2.3=he49afe7_0
  - requests=2.28.1=pyhd8ed1ab_1
  - requests-oauthlib=1.3.0=pyh9f0ad1d_0
  - rich=10.16.1=pyhd8ed1ab_0
  - ripgrep=13.0.0=h244e342_0
  - rsa=4.7.2=pyh44b312d_0
  - rsync=3.2.7=h30d983d_0
  - ruamel.yaml=0.17.21=py39h63b48b0_1
  - ruamel.yaml.clib=0.2.6=py39h63b48b0_1
  - ruamel_yaml=0.15.80=py39h701faf5_1007
  - s3transfer=0.6.0=pyhd8ed1ab_0
  - scrypt=0.8.18=py39h05e4e13_4
  - setuptools=65.3.0=pyhd8ed1ab_1
  - six=1.16.0=pyh6c4a22f_0
  - smartmontools=7.2=h940c156_0
  - smmap=3.0.5=pyh44b312d_0
  - soupsieve=2.3.1=pyhd8ed1ab_0
  - sqlite=3.38.5=hd9f0692_0
  - subversion=1.14.2=pl5321h886d438_3
  - tapi=1100.0.11=h9ce4665_0
  - tk=8.6.12=h5dbffcc_0
  - toolz=0.11.1=py_0
  - tornado=6.2=py39h701faf5_0
  - tqdm=4.62.2=pyhd8ed1ab_0
  - traitlets=5.1.0=pyhd8ed1ab_0
  - typing_extensions=3.10.0.0=pyha770c72_0
  - tzdata=2021e=he74cb21_0
  - tzlocal=4.2=py39h6e9494a_1
  - urllib3=1.26.6=pyhd8ed1ab_0
  - vsts-python-api=0.1.22=py_0
  - watchgod=0.7=pyhd8ed1ab_0
  - wcwidth=0.2.5=pyh9f0ad1d_2
  - wget=1.20.3=hd3787cc_1
  - wheel=0.37.0=pyhd8ed1ab_1
  - wrapt=1.14.1=py39h701faf5_0
  - xxhash=0.8.0=h35c211d_3
  - xz=5.2.6=h775f41a_0
  - yaml=0.2.5=haf1e3a3_0
  - yaml-cpp=0.7.0=hb486fe8_1
  - zipp=3.5.0=pyhd8ed1ab_0
  - zlib=1.2.13=hfd90126_4
  - zstandard=0.19.0=py39h5bcbcff_1
  - zstd=1.5.2=hfa58983_4
  - pip:
      - pyopenssl==20.0.1
prefix: /Users/mfansler/miniconda3